<ui:composition template="../template/principal_II.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui" >

    <ui:define name="menu">
        <ui:include src="../seguridad/menu_administrador.xhtml" />
    </ui:define>

    <ui:define name ="panelIzquierdo">
        <ui:include src="../administracion/menuGeneral.xhtml" />
    </ui:define>

    <ui:define name ="panelDerecho">

        <h:form id="formulario" prependId="false" >

            <p:panel header="Usuarios" styleClass="panelesGenerales" >

                <p:menubar>
                    <p:menuitem id="blank16" icon="blank16"
                                actionListener="#{usuarioBean.nuevo}"
                                process="@this"
                                update="formulario" />

                    <p:menuitem id="save16" icon="save16"
                                actionListener="#{usuarioBean.guardar(false)}"
                                update="formulario" />

                    <p:menuitem id="saveNew16"  icon="save16"
                                actionListener="#{usuarioBean.guardar(true)}"
                                update="formulario" />
                    
                </p:menubar>

                <p:tooltip for="blank16" value="#{msgs.nuevo}"/>
                <p:tooltip for="save16" value="#{msgs.guardar}"/>
                <p:tooltip for="saveNew16" value="#{msgs.guardarNuevo}"/>
                

                <p:messages showDetail="true" />

                <p:spacer height="5" />

                <h:panelGrid columns="2" columnClasses="colLabel,colDato" >

                    <h:outputText value="#{msgs.nombreUsuario}: " />
                    <p:inputText  value="#{usuarioBean.usuario.usuario}"
                                  required="true" size="15"
                                  requiredMessage="Debe ingresar el nombre de usuario">
                        <f:validateLength minimum="2" maximum="15" />
                    </p:inputText>

                    <h:outputText value="#{msgs.password}: " />
                    <p:inputText  value="#{usuarioBean.usuario.password}"
                                  required="true" size="15"
                                  requiredMessage="Debe ingresar el nombre de usuario" >
                        <f:validateLength minimum="2" maximum="15" />
                    </p:inputText>

                    <h:outputText value="#{msgs.tipo}: " />
                    <p:selectOneMenu value="#{usuarioBean.usuario.tipo}" style="width: 200px;"
                                     effect="fade" converter="#{usuarioBean.conversorTipo}"  >
                        <f:selectItem itemLabel="Seleccionar" itemValue="" />
                        <f:selectItems value="#{usuarioBean.tipos}" var="t" itemLabel="#{t.descripcion}" itemValue="#{t}"/>
                    </p:selectOneMenu>

                    <h:outputText value="#{msgs.estado}: " />
                    <p:selectOneMenu value="#{usuarioBean.usuario.estado}" style="width: 200px;"
                                     effect="fade" converter="#{usuarioBean.conversorEstado}"  >
                        <f:selectItem itemLabel="Seleccionar" itemValue="" />
                        <f:selectItems value="#{usuarioBean.estados}" var="e" itemLabel="#{e.descripcion}" itemValue="#{e}"/>
                    </p:selectOneMenu>

                    <h:outputText value="#{msgs.cliente}: " />
                    <p:selectOneMenu value="#{usuarioBean.usuario.cliente}" style="width: 300px;"
                                     effect="fade" converter="#{clienteBean.conversorCliente}"  >
                        <f:selectItem itemLabel="Seleccionar" itemValue="" />
                        <f:selectItems value="#{usuarioBean.clientes}" var="c" itemLabel="#{c.razonSocial}" itemValue="#{c}"/>
                    </p:selectOneMenu>

                    <h:outputText value="#{msgs.solicitaCambioPassword}: " />
                    <p:selectBooleanCheckbox value="#{usuarioBean.usuario.solicitaCambioPassword}" />

                </h:panelGrid>

                <p:spacer height="5" />

                <p:dataTable value="#{usuarioBean.lista}" var="u" rows="8" paginator="true">

                    <p:column headerText="#{msgs.cliente}"
                              filterBy="#{u.cliente.razonSocial}">
                        <h:outputText value="#{u.cliente.razonSocial}" />
                    </p:column>

                    <p:column headerText="#{msgs.nombreUsuario}"
                              filterBy="#{u.usuario}">
                        <h:outputText value="#{u.usuario}" />
                    </p:column>                    

                    <p:column headerText="#{msgs.password}">
                        <h:outputText value="#{u.password}" />
                    </p:column>

                    <p:column headerText="#{msgs.tipo}"
                              filterBy="#{u.tipo.descripcion}" >
                        <h:outputText value="#{u.tipo.descripcion}" />
                    </p:column>
                    
                    <p:column headerText="#{msgs.estado}"
                              filterBy="#{u.estado.descripcion}">
                        <h:outputText value="#{u.estado.descripcion}" />
                    </p:column>


                    <p:column headerText="#{msgs.seleccionar}" style="width: 50px; text-align: center; font-size: 10px;">
                        
                        <p:commandButton icon="ok16" title="Seleccionar marca"
                                         update="formulario"
                                         process="@this"
                                         actionListener="#{usuarioBean.seleccionar(u)}" >
                        
                         </p:commandButton>
                        
                    </p:column>


                </p:dataTable>

            </p:panel>

        </h:form>

    </ui:define>

</ui:composition>
